module EventHelper


  #
  #=== ユーザー一覧のプルダウンを返す
  #
  #イベントに参加可能なユーザーのSELECTタグを出力する。
  #
  def select_for_eventusers(variable, attribute, options, html_options)
    # ユーザー一覧のプルダウンを出力
    insobj = instance_variable_get("@#{variable}")
    if insobj == nil
      select( variable, attribute, {}, options, html_options)
    end
  end


  #
  #=== 選択オプション配列を返す
  #
  #イベントに参加可能なユーザー情報を
  #SELECTタグへの選択オプションへ渡せるリスト形式にて返す。
  #
  def list_for_eventusers(event_id)
    # ユーザー一覧のプルダウンを出力
    choises = Array.new
    if event_id.nil?
      choises = choises
    else
      users = DatEventuser.find(:all,
                                :conditions=>["event_id = ?", event_id],
                                :include=>[{:dat_projectuser=>:mst_user}])
      choises = users.map{
                            |u| [(u.dat_projectuser.mst_user.nil? ? u.dat_projectuser.email : u.dat_projectuser.mst_user.user_name), u.projectuser_id]
                          }
    end

    return choises
  end


  #
  #=== 選択オプション配列を返す
  #
  #イベントに参加可能なユーザー情報を
  #列名をキーとしたハッシュ形式の配列で返す。
  #
  def object_for_eventusers(event_id)
    # ユーザー一覧のプルダウンを出力
    choises = Array.new
    if event_id.nil?
      # イベントIDが指定されていない場合は、空の配列を返す
      choises = choises
    else
      # イベントIDが指定されていない場合は、空の配列を返す
      users = DatEventuser.find(:all,
                                :conditions=>["event_id = ?", event_id],
                                :include=>[{:dat_projectuser=>:mst_user}])
      choises = users.map{
                            |u| {:user_name=>(u.dat_projectuser.mst_user.nil? ? u.dat_projectuser.email : u.dat_projectuser.mst_user.user_name), :projectuser_id=>u.projectuser_id}
                          }
    end

    return choises
  end

end
